package cn.kgc.service.impl;

import cn.kgc.client.TagClient;
import cn.kgc.dao.ClazzDao;
import cn.kgc.entity.Clazz;
import cn.kgc.entity.Tag;
import cn.kgc.service.ClazzService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author mosin
 * date 2022/1/16
 * @version 1.0
 */
@Service
public class ClazzServiceImpl implements ClazzService {

    @Autowired
    private ClazzDao clazzDao;
    @Autowired
    private TagClient tagClient;
    @Override
    public List<Clazz> queryAll() {
        List<Clazz> clazzes = clazzDao.queryAll();
        //遍历集合  获取班级标签id  调用标签微服务 将id传入 查询id对应的标签对象
        clazzes.forEach(clazz->{
            String tagId = clazz.getTagId();
            Tag tag = tagClient.getOne(Integer.parseInt(tagId));
            clazz.setTag(tag);
        }) ;
        return clazzes;
    }

    @Override
    public void delById(Integer id) {
        clazzDao.delClazz(id);
    }

    @Override
    public Clazz addClazz(Clazz clazz) {
          clazzDao.addClazz(clazz);
        return clazz;
    }

    @Override
    public Clazz getOne(Integer id) {

        Clazz clazz =   clazzDao.getOne(id);
        return clazz;
    }
}
